[Blueprint] Unreal Engine 4ゲームプログラミング for Ultra Beginners [Hello Blueprint]
前回からの続き
こむろです。前回とりあえずオブジェクトを配置できるレベルを作成しました。今回からようやくBlueprintを触っていきます。
Blueprintについて
Blueprintにはいくつか種類があります。
- Levelブループリント
- Blueprintクラス
- Blueprintインタフェース
他にもいくつかありますが、基本的には上記を覚えていれば良いようです。特に Levelブループリント
と Blueprintクラス
は比較的触る機会が多かったように思います。今回はこの中の Blueprintクラス
を使ってBlueprintに触れていこうかと思います。
ひとまず、 Actor
などのレベル内に存在する目に見えるコンテンツの制御は、基本的に Blueprintクラス
で行うとおぼえておけば良いようです。
すなわち、Actorに独自の制御や動作の制御などをカスタマイズしたい場合は、 Blueprintクラス
を利用すれば実現できる、ということになります。
Hello Blueprint
Blueprintを作成してみます。まずは、Blueprintクラスを管理するディレクトリを確認します。今回は、StarterContent
が入っているため既にディレクトリは存在します。以下のディレクトリまで移動します。
コンテンツ>StarterContent>Blueprints
右クリック>ブループリントクラス
を選択します。
アクター
を選択します。
SampleBPActor
とします。
作成したBlueprintクラスをダブルクリックします。すると、SampleBPActor
のための画面が立ち上がります。ここで、このActorに対する動作の定義や各種設定、Actorに紐づくコンポーネントの追加などを行う事ができます。
コンポーネントの追加
このままでは、このActorは何の形状も持っていません。 StaticMeshComponent
を追加します。画面右上部にある +コンポーネントを追加▽
をクリックし、スタティックメッシュコンポーネント
を選択します。
ひとまず適当なMeshを設定しておきましょう。画面左の 詳細>Static Mesh
を設定します。様々な形状が選択できますが、今回は Shape_Cone
を選択します。
はい。ひとまずこれでこのBlueprintクラスは、レベルに配置するとコーン状の形状を表示するようになりました。
上部 ツールバー
にある コンパイル
を押しておきます。緑色のチェックがついていれば、今のところこのクラスは正しく動作が定義されています。
Actorの動作をカスタマイズする
SampleBPActorの動作をカスタマイズしていきましょう。先ほど押したコンパイル
ボタンのすぐ下辺りにタブ
が並んでいるのが確認できます。
- ビューポート: 見た目を定義するための画面。このActorがどういう見た目になるかを編集するために使う模様
- コンストラクション: このオブジェクトが生成される際に実行される。生成時の動作をカスタマイズしたい場合に利用する
- イベントグラフ: このオブジェクトがどのような動作を行うかをカスタマイズすることができる。ゲーム開始時やFPSごとのEventなどをフックして独自の動作を定義できる
今回は、このActorの 動作 をカスタマイズしたいので、イベントグラフ
を選択します。
3つのノードが確認できます。役割はそれぞれ
- イベント BeginPlay : このActorがSpawn(生成)した時に呼ばれます。
- イベント ActionBeginOverlap : このオブジェクトにヒットしたりした場合に呼ばれます。
- イベント イベントティック : SpawnしてからDestroyされるまで、1フレーム毎に呼ばれ続けます。
今回は、まずゲーム開始時に画面に「Hello Blueprint」と表示するものを作成するのを目指します。
ノードを追加する
今回はゲーム開始時に一度だけ文字列を出力したいので、 イベント BeginPlay ノードを利用します。
画像のように左クリックをした状態でノードからリンクを伸ばします。適当な位置で左クリックを離すを接続先ノードの選択肢が出現します。文字列を表示するノードは「Print String」なので検索窓に「Print」と打ち込みましょう。するとノードが絞りこまれます。絞りこまれたノードをクリックすると、無事 イベント BeginPlayノードとPrint Stringノードが接続されました。
固定文字列は、Print Stringノード内のIn Stringと表示されている紫色の枠に直接打ち込みます。今回は「Hello Blueprint」と表示させるため、この文字列を紫の枠の中に打ち込んでおきます。これで一番単純なBluepriuntでの処理が完成しました。上部のコンパイル ボタンを押してグリーンであることを確認しておきましょう。
Blueprintを実行する
このBlueprintを実行するには、レベルの中にこのActorを配置してあげる必要があります。開いてるレベルの中にドラッグして適当な位置に配置してみましょう。
配置できたらいよいよ実行です。上部ツールバーにあるプレイボタンを押します。
実行結果
画面に「Hello Blueprint」という文字列が表示されたのがわかります。Blueprintの編集画面を開いてると、そのままどの処理が実行されているかが川の流れのように見えます。これをうまく使うことで処理の流れを目で確認することができるようです。
まとめ
今回は、Blueprintの基本中の基本であるノードとノードをリンクで結びつけ実行するまでをやってみました。基本的にこれらを使うだけでUE4のゲームは作れてしまいます。今回は一切合切プログラムに触っていません。ノンプログラマーなデザイナーの人たちなどが簡単にアニメーションやゲームの処理を書くことが出来ます。そのため簡単なゲームやアニメーションではプログラマーは不要と言っても過言ではない開発環境になっています。
Blueprintの機能は一つの言語を覚えるくらい豊富な機能を持っているので少しずつ学習して紹介していこうかと思います。次回はオブジェクトのアニメーションによる移動を紹介します。